<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of persistenciaUsuario
 *
 * @author Agustin
 */
class ControladoraUsuario {

    private static $instance = false;

    public static function getInstance() {
        if (!self::$instance instanceof self) {
            self::$instance = new self;
        }
        return self::$instance;
    }

    private function __construct() {
        
    }

    public function login($usuario, $pass) {
        if (!isset($_SESSION)) {
            session_start();
        }
        require_once 'Modelo/usuario.php';
        require_once 'Modelo/permiso.php';
        require_once 'Modelo/persistenciaUsuario.php';
        $pu = PersistenciaUsuario::getInstance();
        $usuario = $pu->login($usuario, $pass);
        if ($usuario != null) {
            $p = $usuario->permiso;
            $array = array('id' => $usuario->idusuario, "nombre" => $usuario->nombre, 'contrasenia' => $usuario->contrasenia, 'permiso' => $p->nombre);
            $_SESSION['usuario'] = $array;
            $_SESSION['autorizado'] = true;
        } else {
            $_SESSION['ERROR'] = 'Usuario o contrasenia invalidos';
        }
    }

    public function crearLogIn($dato) {
        require_once 'Modelo/persistenciaUsuario.php';
        try {
            $pU = PersistenciaUsuario:: getInstance();
            return $pU->crearLogin($dato);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function traerUsuario($dato) {
        require_once 'Modelo/persistenciaUsuario.php';
        try {
            $pU = PersistenciaUsuario:: getInstance();
            $x = $pU->buscarUser2($dato);

            if (count($x) != 0) {
                $z = $pU->leerLogin($x[0][0]);
                $w = array($x[0][0], $z [0], $z [1], $z [2]);
                return $w;
            } else {
                return NULL;
            }
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function modLogin($dato) {
        require_once 'Modelo/persistenciaUsuario.php';
        try {
            $pU = PersistenciaUsuario:: getInstance();
            return $pU->modLogin($dato);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

}

?>
